messages = {
	{
		define = "struct", name = "DBRole",
		attributes =
		{
			{type="int16", name="rid", default = 0},
			{type="int16", name="hid", default = 0},
			{type="int16", name="lvl", default = 0},
			{type="int16", name="elvl", default = 0},
			{type="int32", name="exp", default = 0},
			{type="int32", name="hp", default = 0},
			{type="int32", name="mp", default = 0},
			{type="int32", name="eslot", array = 7, default = 0},
			{type="int32", name="datax", default = 0},
			{type="int32", name="datay", default = 0},
			{type="int32", name="dataz", default = 0},
		}
	},
	{
		define = "msg", name="LoadRoles", category = "Msg::MC_DB_Role", id = 10, base = "DBMessage",
		 attributes =
		 {
			 {type="int32", name = "pid", default = 0},
			 {type="DBRole", name = "roles", list = true},
		 },
		 handler =
		 {
			 sql = "load_roles(%d)",
			 input = {"pid"},
			 output={list = true, type = "DBRole", variable = "roles","rid", "hid","lvl","exp", "hp", "mp",
			 "eslot[0]", "eslot[1]", "eslot[2]", "eslot[3]", "eslot[4]", "eslot[5]", "eslot[6]", "datax", "datay", "dataz"}
		 }
	},
	{
		define = "msg", name="LoadMainRoleDetail", category = "Msg::MC_DB_Role", id = 11, base = "DBMessage",
		 attributes =
		 {
			 {type="int32", name = "pid", default = 0},
			 {type="int32", name = "money_g", default = 0},
			 {type="int32", name = "money_s", default = 0},
			 {type="int16", name = "prop_vit", default = 0},
			 {type="int16", name = "prop_str", default = 0},
			 {type="int16", name = "prop_agi", default = 0},
			 {type="int16", name = "prop_int", default = 0},
			 {type="int16", name = "prop_left", default = 0},
			{type="int32", name="datax", default = 0},
			{type="int32", name="datay", default = 0},
			{type="int32", name="dataz", default = 0},
		 },
		 handler =
		 {
			 sql = "load_player_detail(%d)",
			 input = {"pid"},
			 output={"money_g", "money_s", "prop_vit", "prop_str", "prop_agi", "prop_int", "prop_left", "datax", "datay", "dataz"}
		 }
	},
	{
		define = "msg", name="CreateRole", category = "Msg::MC_DB_Role", id = 20, base = "DBMessage",
		 attributes =
		 {
			 {type="int32", name = "pid", default = 0},
			 {type="DBRole", name = "role"},
		 },
		 handler =
		 {
			 sql = "create_role(%d, %d, %s, %c, %c, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",
			 input = {variable="role", "pid", "rid", "hid","lvl","exp", "hp", "mp",
			 "eslot[0]", "eslot[1]", "eslot[2]", "eslot[3]", "eslot[4]", "eslot[5]", "eslot[6]", "datax", "datay", "dataz"}
		 }
	},
	{
		define = "msg", name="UpdateRole", category = "Msg::MC_DB_Role", id = 30, base = "DBMessage",
		 attributes =
		 {
			 {type="int32", name = "pid", default = 0},
			 {type="DBRole", name = "role"},
		 },
		 handler =
		 {
			 sql = "update_role(%d, %d, %d, %s, %c, %c, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",
			 input = {variable="role","pid", "rid", "hid","lvl","exp", "hp", "mp",
			 "eslot[0]", "eslot[1]", "eslot[2]", "eslot[3]", "eslot[4]", "eslot[5]", "eslot[6]", "datax", "datay", "dataz"}
		 }
	},
	{
		define = "msg", name="RemoveRole", category = "Msg::MC_DB_Role", id = 40, base = "DBMessage",
		 attributes =
		 {
			 {type="int32", name = "pid", default = 0},
			 {type="int32", name = "rid", default = 0},
		 },
		 handler =
		 {
			 sql = "remove_role(%d, %d)",
			 input = {"pid", "rid"},
		 }
	 },
	{
		define = "msg", name="LoadRole3Attr", category = "Msg::MC_DB_Role", id = 50, base = "DBMessage",
		 attributes =
		 {
			{type="int32", name="pid", default = 0},
			{type="int32", name="exp", default = 0},
			{type="int32", name="hp", default = 0},
			{type="int32", name="maxhp", default = 0},
			{type="int32", name="mp", default = 0},
			{type="int32", name="maxmp", default = 0},
		 },
		 handler =
		 {
			 sql = "load_player_3attr(%d)",
			 input = {"pid"},
			 output={"exp", "hp", "maxhp", "mp", "maxmp"}
		 }
	 },
}

